package com.googlecode.contests_repo.core.model;

/**
 * A representation of a contest problem.
 * 
 * @author joro, petko
 * 
 */
public class Problem extends Resource {
	private String[] authors;
	private double timeLimit;
	private int memoryLimit;
	private String origin;
	private int[] testWeights;
	private String checker;

	/**
	 * Gets the problem authors.
	 * 
	 * @return the authors
	 */
	public String[] getAuthors() {
		return authors;
	}

	/**
	 * Sets the problem authors.
	 * 
	 * @param authors
	 *            the authors to set
	 */
	public void setAuthors(String[] authors) {
		this.authors = authors;
	}

	/**
	 * Gets the problem time limit.
	 * 
	 * @return the timeLimit
	 */
	public double getTimeLimit() {
		return timeLimit;
	}

	/**
	 * Sets the problem time limit.
	 * 
	 * @param timeLimit
	 *            the timeLimit to set
	 */
	public void setTimeLimit(double timeLimit) {
		this.timeLimit = timeLimit;
	}

	/**
	 * Gets the problem memory limit.
	 * 
	 * @return the memoryLimit
	 */
	public int getMemoryLimit() {
		return memoryLimit;
	}

	/**
	 * Sets the problem memory limit.
	 * 
	 * @param memoryLimit
	 *            the memoryLimit to set
	 */
	public void setMemoryLimit(int memoryLimit) {
		this.memoryLimit = memoryLimit;
	}

	/**
	 * Gets the problem origin.
	 * 
	 * @return the origin
	 */
	public String getOrigin() {
		return origin;
	}

	/**
	 * Sets the problem origin.
	 * 
	 * @param origin
	 *            the origin to set
	 */
	public void setOrigin(String origin) {
		this.origin = origin;
	}

	/**
	 * Sets the problem test weights.
	 * 
	 * @return the testWeights
	 */
	public int[] getTestWeights() {
		return testWeights;
	}

	/**
	 * Sets the problem test weights.
	 * 
	 * @param testWeights
	 *            the testWeights to set
	 */
	public void setTestWeights(int[] testWeights) {
		this.testWeights = testWeights;
	}

	/**
	 * Gets the problem checker file name.
	 * 
	 * @return the checker
	 */
	public String getChecker() {
		return checker;
	}

	/**
	 * Sets the problem checker file name.
	 * 
	 * @param checker
	 *            the checker to set
	 */
	public void setChecker(String checker) {
		this.checker = checker;
	}
}
